Micron Document
`:top
`!JavaCC`! (`!Java Compiler Compiler`!) is an `F33f`_`[open-source`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Open-source_software]`_`f `F33f`_`[parser generator`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Parser_generator]`_`f and `F33f`_`[lexical analyzer`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Lexical_analysis]`_`f generator written in the `F33f`_`[Java programming language`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Java_(programming_language)]`_`f.`:cite-ref-2[`F5bf`_`[2`#cite-note-2]`_`f]

JavaCC is similar to `F33f`_`[yacc`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Yacc]`_`f in that it generates a `F33f`_`[parser`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Parser]`_`f from a `F33f`_`[formal grammar`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Formal_grammar]`_`f written in `F33f`_`[EBNF`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Extended_Backus–Naur_form]`_`f notation. Unlike yacc, however, JavaCC generates top-down parsers. JavaCC can resolve choices based on the next `*k`* input tokens, and so can handle `F33f`_`[LL(k)`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=LL_parser]`_`f grammars automatically; by use of "lookahead specifications", it can also resolve choices requiring unbounded look ahead. JavaCC also generates lexical analyzers in a fashion similar to `F33f`_`[lex`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Lex_(software)]`_`f. The tree builder that accompanies it, JJTree, constructs its trees from the bottom up.

JavaCC is licensed under a `F33f`_`[BSD license`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=BSD_license]`_`f.

>>Contents

• `F0af`_`[History`#history]`_`f
• `F0af`_`[Uses`#uses]`_`f
• `F0af`_`[See also`#see-also]`_`f
• `F0af`_`[References`#references]`_`f
• `F0af`_`[External links`#external-links]`_`f

-─

>>History

In 1996, `F33f`_`[Sun Microsystems`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Sun_Microsystems]`_`f released a parser generator called `*Jack`*. The developers responsible for `*Jack`* created their own company called Metamata and changed the `*Jack`* name to JavaCC. Metamata eventually became part of WebGain. After WebGain shut down its operations, JavaCC was moved to its current home.

>>Uses

Software built using JavaCC includes:

• `F33f`_`[Apache Derby`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Apache_Derby]`_`f
• `F33f`_`[BeanShell`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=BeanShell]`_`f
• `F33f`_`[FreeMarker`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=FreeMarker]`_`f
• `F33f`_`[PMD`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=PMD_(software)]`_`f
• `F33f`_`[Vaadin`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Vaadin]`_`f
• `F33f`_`[Apache Lucene`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Apache_Lucene]`_`f
• JavaParser

>>See also

• `F33f`_`[ANTLR`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=ANTLR]`_`f
• `F33f`_`[SableCC`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=SableCC]`_`f
• `F33f`_`[Coco/R`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Coco/R]`_`f
• `F33f`_`[parboiled`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Parboiled_(Java)]`_`f

>>References

`:cite-note-1`!1.`! "MODIFICATIONS IN VERSION 7.0.10". Retrieved 2021-05-14.
`:cite-note-2`!2.`! `F0af`_`[↑`#cite-ref-2]`_`f `:citerefenseling2000`aEnseling, Oliver (2000-12-29). "Build your own languages with JavaCC". `F33f`_`[JavaWorld`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=JavaWorld]`_`f. Retrieved 2020-01-02.

>>External links

• Official website
• Java Compiler Compiler (JavaCC) - The Java Parser Generator
• JavaCC's New Official Website by April 2017
• JavaCC Tutorial
• JavaCC FAQ
• A JavaCC book - Generating Parsers with JavaCC Archived 2014-03-11 at the `F33f`_`[Wayback Machine`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Wayback_Machine]`_`f

`c`F0af`_`[↑ Back to top`#top]`_`f`a